/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package fwdisp.analyser;

import java.util.ArrayList;
import settings.MainSettingsManager;
import settings.collections.elements.AusrueckOrdnung;

/**
 *
 * @author Admin
 */
public class AusrueckAnalyser {
    private ArrayList<AusrueckOrdnung> aROs;
    private String input;
    
    public AusrueckAnalyser(String input) {
        aROs = MainSettingsManager.getSetting().getAusrueckordnungCollection().getAROs();
        this.input = input;
    }
    
    private boolean aroMatches(AusrueckOrdnung ordnung)
    {
        String[] containing = ordnung.getContainingStrings();
        String[] unleashStrings = ordnung.getUnleashStrings();
        
        if(!input.contains(ordnung.getEType().getContains()))
            return false;
        
        int containCounter = 0;
        
        for (String string : containing) //check for the containing Strings
            if (input.contains(string))
                containCounter++;
        
        if (containing.length > 0 && containCounter == 0)
            return false;
        
        for (String string : unleashStrings)
            if (input.contains(string))
                return false;
        
        return true;
    }
    
    public AusrueckOrdnung getFirstMatchingARO()
    {
        for (AusrueckOrdnung ordnung : aROs)
            if (aroMatches(ordnung))
                return ordnung;
        
        return null;
    }
    
    
}
